﻿Public Class ConfigSponsorDetail
    Inherits System.Web.UI.Page

    Private Property DataSource As Data.DataTable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            If Request.QueryString("action") = "ADD" Then
                lblAction.Text = "เพิ่มข้อมูลการ Configuration ค่า Sponsor"
            ElseIf Request.QueryString("action") = "EDIT" Then
                lblAction.Text = "เปลี่ยนแปลงแก้ไขข้อมูลการ Configuration ค่า Sponsor"
            End If
            If Request.QueryString("infoid") <> "" Then
                Dim dt As DataTable = New DataTable
                Dim info As Entity.SponsorItem = New Entity.SponsorItem
                info.sponsor_id = Request.QueryString("infoid")
                dt = BL.Configuration.GetSponsor(info)
                If dt.Rows.Count > 0 Then
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_ID")) Then txtID.Text = dt.Rows(0)("SPONSOR_ID")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_NAME")) Then txtName.Text = dt.Rows(0)("SPONSOR_NAME")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_START_DATE")) Then StartDate.Text = Convert.ToDateTime(dt.Rows(0)("SPONSOR_START_DATE")).AddYears(543).ToString("dd/MM/yyyy", Common.Utility.CulInfo)
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_END_DATE")) Then EndDate.Text = Convert.ToDateTime(dt.Rows(0)("SPONSOR_END_DATE")).AddYears(543).ToString("dd/MM/yyyy", Common.Utility.CulInfo)
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_1")) Then txtLevel1.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_1")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_2")) Then txtLevel2.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_2")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_3")) Then txtLevel3.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_3")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_4")) Then txtLevel4.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_4")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_5")) Then txtLevel5.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_5")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_6")) Then txtLevel6.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_6")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_7")) Then txtLevel7.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_7")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_8")) Then txtLevel8.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_8")) * 100, "#,##0.##")
                    If Not IsDBNull(dt.Rows(0)("SPONSOR_LEVEL_9")) Then txtLevel9.Text = Format(Convert.ToDecimal(dt.Rows(0)("SPONSOR_LEVEL_9")) * 100, "#,##0.##")
                End If
            End If
        End If
        If Request.QueryString("resultfrom") = "ADD" Then Me.Master.Alert("SUCCESS\nทำการบันทึก Sponsor สำเร็จ")
    End Sub

    Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSave.Click
        Dim SaveFlag As Boolean = True
        If txtName.Text.Trim = "" Then
            Me.Master.Alert("Sponsor Name ห้ามเป็นค่าว่าง\nกรุงณาระบุ Sponsor Name!")
            Exit Sub
        End If
        If StartDate.Text.Trim = "" Then
            Me.Master.Alert("วันที่เริ่มต้น ห้ามเป็นค่าว่าง\nกรุงณาระบุ วันที่เริ่มต้น!")
            Exit Sub
        End If
        If EndDate.ToString.Trim = "" Then
            Me.Master.Alert("วันที่สิ้นสุด ห้ามเป็นค่าว่าง\nกรุงณาระบุ วันที่สิ้นสุด!")
            Exit Sub
        End If
        If Convert.ToDateTime(StartDate.Text.Trim) > Convert.ToDateTime(EndDate.Text.Trim) Then
            Me.Master.Alert("ไม่สามารถระบุ วันที่เริ่มต้น มากกว่า วันที่สิ้นสุด\nกรุงณาระบุ วันที่เริ่มต้น น้อยกว่า วันที่สิ้นสุด!")
            Exit Sub
        End If
        If txtLevel1.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 1 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 1!")
            Exit Sub
        End If
        If txtLevel2.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 2 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 2!")
            Exit Sub
        End If
        If txtLevel3.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 3 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 3!")
            Exit Sub
        End If
        If txtLevel4.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 4 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 4!")
            Exit Sub
        End If
        If txtLevel5.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 5 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 5!")
            Exit Sub
        End If
        If txtLevel6.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 6 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 6!")
            Exit Sub
        End If
        If txtLevel7.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 7 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 7!")
            Exit Sub
        End If
        If txtLevel8.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 8 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 8!")
            Exit Sub
        End If
        If txtLevel9.Text.Trim = "" Then
            Me.Master.Alert("ร้อยละรายได้ของระดับที่ 9 ห้ามเป็นค่าว่าง\nกรุงณาระบุ ร้อยละรายได้ของระดับที่ 9!")
            Exit Sub
        End If

        Dim cStartDate As Entity.SponsorItem = New Entity.SponsorItem
        If txtID.Text <> "" Then cStartDate.opposite_id = Convert.ToDecimal(txtID.Text.Trim)
        cStartDate.sponsor_start_date_to = Common.UtilityDateTime.ConvertDate(Me.StartDate.Text).Value.AddYears(-543)
        cStartDate.sponsor_end_date = Common.UtilityDateTime.ConvertDate(Me.StartDate.Text).Value.AddYears(-543)
        DataSource = BL.Configuration.GetSponsor(cStartDate)
        If DataSource.Rows.Count > 0 Then
            Me.Master.Alert("ค่า วันที่เริ่มต้น ไม่ถูกต้อง!\nไม่สามารถระบุค่า วันที่เริ่มต้น อยู่ในช่วงระหว่างค่าวันที่ของ Sponsor ที่มีอยู่แล้วได้")
            Exit Sub
        End If

        Dim cEndDate As Entity.SponsorItem = New Entity.SponsorItem
        If txtID.Text <> "" Then cEndDate.opposite_id = Convert.ToDecimal(txtID.Text.Trim)
        cEndDate.sponsor_start_date_to = Common.UtilityDateTime.ConvertDate(Me.EndDate.Text).Value.AddYears(-543)
        cEndDate.sponsor_end_date = Common.UtilityDateTime.ConvertDate(Me.EndDate.Text).Value.AddYears(-543)
        DataSource = BL.Configuration.GetSponsor(cEndDate)
        If DataSource.Rows.Count > 0 Then
            Me.Master.Alert("ค่า วันที่สิ้นสุด ไม่ถูกต้อง!\nไม่สามารถระบุค่า วันที่สิ้นสุด อยู่ในช่วงระหว่างค่าวันที่ของ Sponsor ที่มีอยู่แล้วได้")
            Exit Sub
        End If

        Dim chDate As Entity.SponsorItem = New Entity.SponsorItem
        If txtID.Text <> "" Then chDate.opposite_id = Convert.ToDecimal(txtID.Text.Trim)
        chDate.sponsor_start_date = Common.UtilityDateTime.ConvertDate(Me.StartDate.Text).Value.AddYears(-543)
        chDate.sponsor_end_date_to = Common.UtilityDateTime.ConvertDate(Me.EndDate.Text).Value.AddYears(-543)
        DataSource = BL.Configuration.GetSponsor(chDate)
        If DataSource.Rows.Count > 0 Then
            Me.Master.Alert("ค่า วันที่ไม่ถูกต้อง!\nไม่สามารถระบุค่า วันที่ในช่วงระหว่างค่าวันที่ของ Sponsor ที่มีอยู่แล้วได้")
            Exit Sub
        End If


        If SaveFlag Then
            Dim info As Entity.SponsorItem = New Entity.SponsorItem
            If txtID.Text.Trim <> "" Then info.sponsor_id = Convert.ToDecimal(txtID.Text.Trim)
            info.sponsor_name = txtName.Text.Trim

            If Common.UtilityDateTime.ConvertDate(Me.StartDate.Text).HasValue Then
                info.sponsor_start_date = Common.UtilityDateTime.ConvertDate(Me.StartDate.Text).Value.AddYears(-543)
            Else
                Me.Master.Alert("กรุณาระบุวันที่เริ่มต้นให้ถูกรูปแบบ (วว/ดด/ปปปป)")
                Exit Sub
            End If
            If Common.UtilityDateTime.ConvertDate(Me.EndDate.Text).HasValue Then
                info.sponsor_end_date = Common.UtilityDateTime.ConvertDate(Me.EndDate.Text).Value.AddYears(-543)
            Else
                Me.Master.Alert("กรุณาระบุวันที่สิ้นสุดให้ถูกรูปแบบ (วว/ดด/ปปปป)")
                Exit Sub
            End If

            info.sponsor_level_1 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel1.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_2 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel2.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_3 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel3.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_4 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel4.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_5 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel5.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_6 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel6.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_7 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel7.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_8 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel8.Text.Trim)) / 100, "##0.##")
            info.sponsor_level_9 = Format(Convert.ToDecimal(Convert.ToDecimal(txtLevel9.Text.Trim)) / 100, "##0.##")
            If Request.QueryString("action") = "ADD" Then
                info.create_user_id = GlobalApp.Authen.offcier_id
                info.create_date = Common.UtilityDateTime.ConvertDate(Now.ToString("dd/MM/yyyy", Common.Utility.CulInfo)).Value
                info.upd_user_id = GlobalApp.Authen.offcier_id
                info.upd_date = Common.UtilityDateTime.ConvertDate(Now.ToString("dd/MM/yyyy", Common.Utility.CulInfo)).Value
                If BL.Configuration.InsertSponsor(info) Then
                    Response.Redirect("~/ConfigSponsorDetail.aspx?resultfrom=ADD&action=EDIT&infoid=" & BL.Configuration.id, False)
                Else
                    Me.Master.Alert("FAIL!\nทำการบันทึก Sponsor สำเร็จ")
                End If
            ElseIf Request.QueryString("action") = "EDIT" Then
                info.upd_user_id = GlobalApp.Authen.offcier_id
                info.upd_date = Common.UtilityDateTime.ConvertDate(Now.ToString("dd/MM/yyyy", Common.Utility.CulInfo)).Value
                If BL.Configuration.UpdateSponsor(info) Then
                    Me.Master.Alert("SUCCESS\nทำการแก้ไข Sponsor สำเร็จ")
                Else
                    Me.Master.Alert("FAIL!\nแก้ไขรายการ Sponsor ไม่สำเร็จ")
                End If
            End If
        End If
    End Sub

    Protected Sub btnReset_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnReset.Click
        Me.Response.Redirect("~/ConfigSponsor.aspx", False)
    End Sub

End Class